L7. Introduction to microprocessor

control system with Electronics = Micro-processor

Embedded computer

Terminologies

  1. Integrated Chip (IC)
    단일 실리콘 조각에 제작된 전자회로 요소들; 매우 작고, 대량 생산과 비용 절감이 가능하다.
  2. Micro-Controller Unit(MCU)
    CPU와 Peripheral, 추가적인 회로와 메모리를 포함하는 IC.
  3. Central Processing Unit (CPU)
    프로그램의 instruction을 시행할 수 있는 하드웨어 회로
  4. Instruction
    Processor를 실행시키기 위한 명령; Operation과 Operand(없기도 함)로 구성되어있음

Ex. MCU로 Hot plate 기능 구현을 한다고 하자

  1. on/off signal로 간단한 키고 끄기 가능
  2. MCU의 Peripheral인 Sensor가 MCU로 전달하여 적절한 온도 조절 신호를 보낸다. 이 과정에서 Driver에서 신호를 분석하여 조절할 수 있다.

Embedded System

Terminologies

  1. Peripheral
    특별한 기능을 제공하거나 inerfacing하여 CPU를 돕는 hardware; 주변 기기
  2. analog
    무한한 값들을 가질 수 있는 것
  3. digital
    한정된 수의 값을 가질 수 있는 것
  4. Analog to Digital Converter
    Analog value를 상응하는 Digital value로 바꿔주는 회로를 말한다.
  5. Digital to Analog Converter
    Digital value를 상응하는 analog value로 바꿔주는 회로를 말한다.

Concurrency

동시성

보통 MCU는 여러가지 작업을 동시에 수행한다.
이런 여러가지 작업을 더하는 것들은 소프트웨어의 복잡성을 증가시킨다.
ex). 메모리 사용량이나, power

MCU는 다른 파트의 software를 CPU를 공유하며 사용한다. (interrupt handler와 작업, Thread와 process 등등)
어떤 프로세스는 Peripheral에서 처리가 가능하다.

Scheduler

  1. Operating system을 활용하는 필수적인 유닛이다.
  2. Processor에 다음에 처리해야 할 소프트웨어 조각을 결정해준다.
  3. Performance가 높을 수록 가격 비쌈

Responsiveness

Responsiveness(응답성)

주어진 시간 내에 할당된 작업을 완료하는 시스템 또는 기능적 단위
Responsiveness를 높이기 위해서

  1. Raw processing Speed
    Code를 Optimize하고, 빠른 CPU를 사용한다.
  2. Task Scheduling
    중요한 작업에서는 focus하는 것이 중요하다.
  3. Multicore processing
  4. Multiple processors

Reliablity & Fault Handiling

당연하게도, 사용자는 프로그램이 도중에 끊기는 것을 예상하지 못한다.
현재에 Failure가 있어도 그 영향을 최소화 시켜줘야한다.

Failure를 Detect할 때에는 run time이나 과거를 분석할 때에 센서를 사용.
Unexpected cases에 대한 software routine이 이미 정해져 있음.
->Diagnostic을 통해 fault가 어디서 발생했는지 알 수 있는 것

Processor (CPU)

Arm Cortex-M0+를 수업 시간에 사용한다.
Memory와 소통을 통해 instruction과 data를 얻어낸다

Feature

  1. Memory 접근할 때에, CPU는 AHB-Lite interface로 소통하는데, memory는 바깥에 배치해 있는 경우도 있다.(이 경우에는 바깥에 있음)
  2. Interrupt handler는 CPU에 명령이 들어가는 것보다 먼저 처리 해야함. 따라서 Processor core에 붙어있는 Nested Vecotred Interrupt Controller를 사용하여 Interrupt할 수 있도록 한다.

Microcontroller

Pasted image 20240406231120.png
High speed Bus에는 일단 CPU, Memory, GPIO(HMI), System; 가장 접근성이 높은 것이 연결되어있다.
Peripheral Bus에는 주변 기기들..
헷갈릴 수 있는 것은 Clock이 Peripheral이라는 것이다.